package sdk8.enumUse;

/**
 * Describe
 *
 * @author firr
 * @date 2022年07月12日14:49
 */
public enum AlarmTypeEnum {
    /**
     * 超速告警
     */
    OVER_SPEED_ALARM(0, "超速告警"),
    /**
     * 当天累计驾驶超时告警
     */
    OVER_TIME_ALARM(1, "当天累计驾驶超时告警"),
    /**
     * 疲劳驾驶告警
     */
    FATIGUE_DRIVING_ALARM(2, "疲劳驾驶告警"),
    /**
     * 定位设备故障告警
     */
    GPS_BREAK_ALARM(3, "定位设备故障告警"),
    /**
     * 定位设备离线告警
     */
    GPS_OFFLINE_ALARM(4, "定位设备离线告警"),
    /**
     * 运输车辆违停告警
     */
    TRUCK_PARK_ILLEGAL_ALARM(5, "运输车辆违停告警"),
    /**
     * 不按规定路线行驶告警
     */
    DRIVER_OUT_OF_LINE_ALARM(6, "不按规定路线行驶告警"),
    /**
     * 人员证照过期告警
     */
    EMPLOYEE_CERT_EXPIRE_ALARM(7, "人员证照过期告警"),
    /**
     * 车辆证照过期告警
     */
    VEHICLE_CERT_EXPIRE_ALARM(8, "车辆证照过期告警"),
    /**
     * 企业证照过期告警
     */
    COMPANY_CERT_EXPIRE_ALARM(9, "企业证照过期告警");


    private final Integer code;

    private final String desc;

    public Integer getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    AlarmTypeEnum(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    /**
     * 根据告警类型编码获取告警类型信息
     * @author firr
     * @date 2022/7/12 15:03
     * @param code 告警类型编码
     * @return java.lang.String
     */
    public static String getDescByCode(Integer code) {
        if (code==null||code.equals("")) {
            return null;
        }

        for (AlarmTypeEnum value : AlarmTypeEnum.values()) {
            if (value.getCode().equals(code)) {
                return value.getDesc();
            }
        }
        return null;
    }

}
